#ifndef __LCD_INIT_H
#define __LCD_INIT_H
#include "main.h"

#define USE_HORIZONTAL 3  //���ú�������������ʾ 0��1Ϊ���� 2��3Ϊ����
#define u8 uint8_t
#define u16 uint16_t
#define u32 uint32_t


#if USE_HORIZONTAL==0||USE_HORIZONTAL==1
#define LCD_W 80
#define LCD_H 160

#else
#define LCD_W 240
#define LCD_H 135
#endif

#define LCD_RES_Clr() GPIO_WritePin(CW_GPIOB, GPIO_PIN_0, GPIO_Pin_RESET)
#define LCD_RES_Set() GPIO_WritePin(CW_GPIOB, GPIO_PIN_0, GPIO_Pin_SET)

#define LCD_DC_Clr() GPIO_WritePin(CW_GPIOA, GPIO_PIN_6, GPIO_Pin_RESET)
#define LCD_DC_Set() GPIO_WritePin(CW_GPIOA, GPIO_PIN_6, GPIO_Pin_SET)

#define LCD_BLK_Clr() GPIO_WritePin(CW_GPIOB, GPIO_PIN_1, GPIO_Pin_SET)
#define LCD_BLK_Set() GPIO_WritePin(CW_GPIOB, GPIO_PIN_1, GPIO_Pin_RESET)

#define  LCD_CS_Clr()     		       SPI_NSSInternalSoftwareConfig(CW_SPI, SPI_NSSInternalSoft_Reset);//PA04_SETLOW()
#define  LCD_CS_Set()    		       SPI_NSSInternalSoftwareConfig(CW_SPI, SPI_NSSInternalSoft_Set);//PA04_SETHIGH()

void LCD_Writ_Bus(u8 dat);
void LCD_WR_DATA16_N(u16 dat, int len);
// ģ��SPIʱ��
void LCD_WR_DATA8(u8 dat);//д��һ���ֽ�
void LCD_WR_DATA(u16 dat);//д�������ֽ�
void LCD_WR_REG(u8 dat);//д��һ��ָ��
void LCD_Address_Set(u16 x1,u16 y1,u16 x2,u16 y2);//�������꺯��
void LCD_Init(void);
void LCD_WreitBuff(uint8_t *buff, uint16_t buff_size);

void LCD_FlushBuff(void); // LCD��ʼ��

#endif





